package com.shlh.saas.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 支付订单实体类
 */
@Data
@TableName("payment_orders")
public class PaymentOrder {
    
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    /**
     * 用户ID
     */
    @TableField("user_id")
    private Long userId;
    
    /**
     * 订单号
     */
    @TableField("order_no")
    private String orderNo;
    
    /**
     * 支付金额
     */
    @TableField("amount")
    private BigDecimal amount;
    
    /**
     * 支付类型：1-微信支付，2-支付宝支付
     */
    @TableField("payment_type")
    private Integer paymentType;
    
    /**
     * 订单状态：0-未支付，1-已支付，2-已取消
     */
    @TableField("status")
    private Integer status;
    
    /**
     * 套餐类型：VIP、EMAIL、CUSTOM等
     */
    @TableField("package_type")
    private String packageType;
    
    /**
     * 套餐积分/次数
     */
    @TableField("package_points")
    private Integer packagePoints;
    
    /**
     * 套餐时长
     */
    @TableField("package_duration")
    private String packageDuration;
    
    /**
     * 支付二维码URL
     */
    @TableField("qr_code_url")
    private String qrCodeUrl;
    
    /**
     * 支付交易号（微信或支付宝返回）
     */
    @TableField("transaction_id")
    private String transactionId;
    
    /**
     * 支付时间
     */
    @TableField("pay_time")
    private LocalDateTime payTime;
    
    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;
} 